
/*
*Released on 28th June 2008.
*Any violations can be reported at paritosh@wikiocean.net
*What is treated as violations can be found at www.wikiocean.net/ppl1-voilations*
******************************************************************************
* The contents of this file are subject to POOL Public License 1.0 and later.
* POOL Public License is based on Affero GPL v3 and additional conditions.
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the Affero GPL v3 License at http://www.gnu.org/licenses/agpl.html
* You may obtain a copy of the POOL Public License 1.0 or later at www.wikiocean.net/license/ppl.html
* Software distributed under POOL Public License 1.0 is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Initial Developer of the Original Code is Paritosh Pungaliya (C) 2008. All Rights Reserved.
******************************************************************************
* Objective of the additional terms (license)
* 1) Is to extend the software freedom to freedom to work.
* 2) To ensure that knowledge is free from monopoly of agencies.
* 3) To avoid a situation where big corporate or investor can buy out free software groups and companies and then start milking the communities built around it.
* (this trend can be seen how the freedom is curtailed in companies that get Venture Capital funding.)
******************************************************************************
*/

package  smsBean;

import java.sql.ResultSet;
import java.util.Hashtable;

import logger.PoolLogger;

import utility.CharAt;
import utility.ConvertToLower;
import utility.Index;
import control.Command;
import dbmanager.DBManager;
import dbmanager.GetIdName;

public class DictionaryDetails 
{
	public Hashtable<Object,Object> tempDictionaryMap = new Hashtable<Object, Object>();
	String str;
	String message;
	String tableName;
	int cnt;
	String PropertyField;
	String process;
	String spChar=null;
	ResultSet rs;
	GetIdName gin;
	PoolLogger pl;
	
	public DictionaryDetails(int cnt,String msg,String tableName,String process )
	{
		message = msg;
		this.str= msg;
		this.cnt = cnt;
		this.tableName = tableName;
		this.process=process;		
		
		// logger
		pl = (PoolLogger) PoolLogger.getLogger(this.getClass().getName());
		
		System.out.println("pool::DictionaryDetails::Message in property : "+str);
		pl.info("pool::DictionaryDetails::Message in property : "+str);
		pl.debug("pool::DictionaryDetails::Message in property : "+str);
		pl.warn("pool::DictionaryDetails::Message in property : "+str);
		pl.fatal("pool::DictionaryDetails::Message in property : "+str);
		pl.error("pool::DictionaryDetails::Message in property : "+str);
		pl.trace("pool::DictionaryDetails::Message in property : "+str);
	}
	
	public DictionaryDetails()
	{
		gin = new GetIdName();
	}

	public Hashtable<Object, Object> DictionaryData() 
	{		
		int count=0;
		String spcharAdd = null;
		//String tempStr=str;
		int i=0;
		int start=0,end=0;
		String retStr;
		Command cd=new Command(tableName);
	
	
		spcharAdd = ""+CharAt.CharAT(message, 0);
		
		while(i<str.length())
		{
			char ch = CharAt.CharAT(str,i);			
			if(ch == spcharAdd.toCharArray()[0])
			{
				count ++;
				
				if (count == cnt)
				{		
					start = Index.indexOf(str, spcharAdd,i);
					end = Index.indexOf(str, spcharAdd,start+1);
					
					if (end == -1)
					{
						retStr = str.substring(start);
						//retStr = cd.getLastProperty(msg, tableName, process);						
					}
					else
						retStr = str.substring(start,end);
					
					System.out.println("String needed -->> " + retStr);
					pl.info("String needed -->> " + retStr);
					pl.debug("String needed -->> " + retStr);
					pl.warn("String needed -->> " + retStr);
					pl.fatal("String needed -->> " + retStr);
					pl.error("String needed -->> " + retStr);
					pl.trace("String needed -->> " + retStr);
					tempDictionaryMap = ConvertToLower.convertHashKey(cd.getHashCommand(tableName, retStr,process));
					if(tempDictionaryMap.containsKey("ErrorInput"))
					{
						return tempDictionaryMap;
					}					
					
					return tempDictionaryMap;
				}
			}
			i++;
		}
		return tempDictionaryMap;		
	}
	
	
}